package com.travel.travelServer.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.travel.travelServer.entity.User;
import com.travel.travelServer.entity.vo.LoginUserVO;
import com.travel.travelServer.entity.vo.UserVO;
import com.travel.travelServer.utils.ResponseData;

import java.util.List;
import java.util.Map;

/**
 * (User)表服务接口
 *
 * @author makejava
 * @since 2023-10-24 16:42:08
 */
public interface UserService {

    Page<UserVO> pageByUser(Page<UserVO> page, Map<String, Object> conditions);

    UserVO getById(Long id);

    User getByUsername(String username);

    Boolean saveUser(User user);

    Boolean updateUserById(User user);

    Boolean removeById(Long id);

    Boolean removeByIds(List<Long> idList);

    Boolean setRoles(List<Long> idList, Long id);

    ResponseData login(User user);

    LoginUserVO getLoginUserVOById();

//    Boolean logout();
//
    Boolean reg(User user);
//
    Boolean updatePassword(User user);

    User selectByUsername(String username);

    UserVO getByCurrentUser();
}

